// pages/index/index.js
Page({
  data: {
    // 访问请求的URL
    globalUrl:"",
    authStatusData:"",
    islogin:"",
    show: false,
    navList: [{
      'count': 0,
      'title': '待收货'
    },
    {
      'count': 0,
      'title': '在配送'
    },
    {
      'count': 0,
      'title': '已完成'
    },
    {
      'count': 0,
      'title': '全部'
    },
  ],
    right_arrow:"../../images/tasks/weizhi.png",
    user:{
        userid:"",
        avatarImage:"",
        username:"",
        phoneNumber:"",
        authStatus:"",//用户骑手认证状态
        university:"",//用户所在学校
        balance:"",   //学生余额
      },
    },
    /**  
     * 跳转到登录界面
     * 当用户已经登录时，islogin为true，点击以后弹出提示，已经登录，不要重复登录
     * 用户没有登录时， islogin为false，点击后跳转到登录界面
     */
    toLoginChoosePage(){
        wx.navigateTo({
          url: '/pages/UserLogin/LoginChoose/LoginChoose',
        })
    },
    //跳转到余额 查看详情界面
    selectDetails(){
        wx.navigateTo({
          url: '/pages/balancePage/home/home',
        })
    },
    //骑手认证处理函数
    //1.当点击了骑手认证后，从之前的redis中拿出用户认证信息，判断用户是否已经认证
    //  如果已经认证，发送异步请求，根据token解析出用户ID，然后从骑手信息表中查询出骑手认证信息，并显示到骑手界面
    //  如果为审核中，也是发送异步请求到后端，和1一样，按钮从提交审核变成审核中
    //  如果为审核失败，也是发送异步请求后端，和1一样，按钮从提交审核变成修改认证信息，当点击后跳转到认证界面，填写信息。
    //  如果为未认证，则直接跳转到认证界面。

    navClick(e){
      console.log("123",e.currentTarget.dataset.item.title);
      wx.navigateTo({
        url: '/pages/myOrder/myOrder?tab='+e.currentTarget.dataset.item.title,
      })
    },


    //下面功能选择，跳转界面
    toPageChoose(event){
      //获取当前点击的是哪个功能
      const index = event.currentTarget.dataset.index;
      console.log("获取用户信息")
      switch(index){
        //跳转到订单界面
        case "0":
          wx.navigateTo({
            url: '/pages/myOrder/myOrder',
          })
          break;
        //跳转到个人信息界面
        case "1":
          wx.navigateTo({
            url: '/pages/userinfo/userinfo',
          })
          break;
        //跳转到地址管理界面
        case "2": 
          wx.navigateTo({
            url: '/pages/addressManage/addressManageHome/addressManageHome',
          })
          break;
        case "3": 
          wx.navigateTo({
            url: '/pages/rider/riderAuth/riderAuth',
          })
          break; 
        case "4":
          wx.navigateTo({
            url: '/pages/balancePage/home/home',
          })
          break;
        case "5":
          wx.navigateTo({
            url: '/pages/myTasksRoom/myTasksRoom',
          })
          break;
        case "6":
          wx.navigateTo({
            url: '/pages/myStudentHelpRoom/myStudentHelpRoom',
          })
          break;
      }
    },

    onShow() {
      // 获取小程序实例
      const app = getApp();
      // 获取全局变量
      const globalUrl = app.globalData.globalUrl;
      const islogin = app.globalData.islogin;
      console.log(globalUrl)
      this.setData({
        globalUrl:globalUrl
      })
      const userInfo = wx.getStorageSync('UserData');
      console.log("登录状态为：",islogin)
      console.log("-----")
      // 在主页中使用用户信息
      console.log(this.data.islogin)
      wx.request({
        url: globalUrl+'/user/getUserInfo',
        method: 'POST',
        header: {
          "token": userInfo.token,
        },
        success: (response) => {
          if(response.data.code === 200){ //成功请求到用户的数据
            console.log("用户数据");
            console.log(response.data.data)
            //进行数据渲染，把头像，用户名之类的进行显示
            console.log(response.data.data.username)
            console.log(response.data.data.authStatus)
            this.setData({
              'user.userid': response.data.data.user_id,
              'user.avatarImage':response.data.data.avatarImage,
              'user.username': response.data.data.username,
              'user.phoneNumber': response.data.data.phoneNumber,
              'user.authStatus':response.data.data.authStatus,
              'user.university':response.data.data.university,
              "user.balance":response.data.data.balance,
              'islogin':true,
            })
            app.globalData.islogin = true;
            wx.setStorageSync('university', response.data.data.university)
            //把获取到的用户ID存入到域中，然后传递到地址管理界面
            wx.setStorageSync('userid', response.data.data.user_id);
            wx.setStorageSync('SumbitStatus', response.data.data.authStatus);
            wx.setStorageSync('user', response.data.data);
            this.getOrderData();
          }else if(response.data.code === 401){
            wx.showToast({
              title: '正在跳转登录',
              icon: 'loading',
              success: function() {
                setTimeout(function() {
                  wx.navigateTo({
                    url: '/pages/UserLogin/LoginChoose/LoginChoose',
                  })
                }, 1000)
              }
            });
          }else{
            wx.showToast({
              title: '正在跳转登录',
              icon: 'loading',
              })
            }
        },
      });


    },
    //选择指定得大学
    chooseCollege(){
      wx.navigateTo({
        url: '/pages/universitySelect/universitySelect',
      });
    },
    getOrderData(){
      // 获取小程序实例
      const app = getApp();
      // 获取全局变量
      const globalUrl = app.globalData.globalUrl;
      const userInfo = wx.getStorageSync('UserData');

      wx.request({
        url: globalUrl+'/user/order/orderindex',
        method: 'GET',
        header: {
          "token": userInfo.token,
        },
        success: (response) => {
          if(response.data.code === 200){ //成功请求到用户的数据
            console.log("用户数据");
            console.log(response.data.data)
            this.setData({
              "navList[0].count":response.data.data[0],
              "navList[1].count":response.data.data[1],
              "navList[2].count":response.data.data[2],
              "navList[3].count":response.data.data[3],
            })
          }else if(response.data.code === 401){
            wx.showToast({
              title: '错误',
              icon: 'loading',
            });
          }else{
            wx.showToast({
              title: '正在跳转登录',
              icon: 'loading',
              })
            }
        },
      });
    },




    // 获取到token，把 token传递到后端 通过token解析到用户的主键ID
    // 通过后端去请求redis 使用用户主键ID获取到用户信息，获取用户信息
    getUserInfo(){},
    //退出登录控件
    //1.先把'islogin':false,
    getOut(){
      // 获取小程序实例
      const app = getApp();
      // 获取全局变量
      const globalUrl = app.globalData.globalUrl;
      const islogin = app.globalData.islogin;
      console.log(globalUrl)
      const userInfo = wx.getStorageSync('UserData');
      console.log("登录状态为：",islogin)
      console.log(this.data.islogin)
      wx.request({
        url: globalUrl+'/user/user/logout',
        method: 'POST',
        header: {
          "token": userInfo.token,
        },
        success: (response) => {
          if(response.data.code === 200){ //成功请求到用户的数据
            console.log("退出成功")
            app.globalData.islogin = false;
            this.setData({
              islogin:false
            })
            wx.removeStorageSync('userid');
            wx.removeStorageSync('SumbitStatus');
            wx.removeStorageSync('user');
            wx.showToast({
              title: '退出中',
              icon: 'loading',
              success: function() {
                setTimeout(function() {
                  wx.navigateTo({
                    url: '/pages/UserLogin/LoginChoose/LoginChoose',
                  })
                }, 1000)
              }
            })   
          }else{
            wx.showToast({
              title: '操作失误',
              icon: 'none',
            })   
          }
        },
      });
    }
});